/**
 * 封装自定义指令
 * // 注册一个全局自定义指令 `v-focus`
 * el 元素, option.value 指令传输的数据
  Vue.directive('focus', {
    // 当被绑定的元素插入到 DOM 中时……
    inserted: function (el) {
      // 聚焦元素
      el.focus()
    }
  })

 */
// imgError指令：处理图片加载异常，如果加载失败显示一个默认图片=》提供个img元素使用
// 例如：<img :src="src" v-imgError="defaultSrc" />
const imgError = {
  inserted (el, options) {
    // onerror 事件在加载外部文件（文档或图像）发生错误时触发。
    el.onerror = () => {
      // options.value 获取指令绑定的变量值
      el.src = options.value
    }
  }
}

const focus = {
  // 当被绑定的元素插入到 DOM 中时……
  inserted: function (el) {
    // 聚焦元素
    el.focus()
  }
}

export { imgError, focus }
